//package Demo1_17;
//
///**
// * Created with IntelliJ IDEA.
// * Description:
// * User：Lenovo
// * Date:2025-01-17
// * Time:19:55
// */
////给你单链表的头结点 head ，请你找出并返回链表的中间结点。
////        如果有两个中间结点，则返回第二个中间结点。
//class ListNode {
//    int val;
//    ListNode next;
//    ListNode(int val) {
//        this.val = val;
//    }
//}
//
//class MiddleOfLinkedList {
//    public ListNode middleNode(ListNode head) {
//        ListNode slow = head;
//        ListNode fast = head;
//        while (fast!= null && fast.next!= null) {
//            slow = slow.next;
//            fast = fast.next.next;
//        }
//        return slow;
//    }
//
//    public static void main(String[] args) {
//        // 创建链表 1 -> 2 -> 3 -> 4 -> 5
//        ListNode head = new ListNode(1);
//        head.next = new ListNode(2);
//        head.next.next = new ListNode(3);
//        head.next.next.next = new ListNode(4);
//        head.next.next.next.next = new ListNode(5);
//
//        MiddleOfLinkedList solution = new MiddleOfLinkedList();
//        ListNode middle = solution.middleNode(head);
//        System.out.println("中间节点的值为: " + middle.val);
//    }
//}